package com.focus.pay.ali.model.order;

import com.alipay.api.domain.ExtUserInfo;
import com.alipay.api.domain.ExtendParams;
import com.alipay.api.domain.GoodsDetail;
import com.focus.pay.core.domain.PayModelDomain;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
* @Author: 赵参谋
* @Date: 2021/10/11 14:31
* @Description: 手机网站支付
* @Param:
* @Return:
 * https://opendocs.alipay.com/apis/api_1/alipay.trade.wap.pay
*/
@Data
@Builder
public class AliPayModelMobile extends PayModelDomain {
    /**
     * 商户订单号
     */
    private String out_trade_no;

    /**
     * 订单总金额
     */
    private BigDecimal total_amount;

    /**
     * 回调地址
     */
    private String notifyUrl;

    /**
     * 订单标题
     */
    private String subject;

    /**
     * 产品码
     */
    private String product_code;

    /**
     * 针对用户授权接口，获取用户相关数据时，用于标识用户授权关系
     */
    private String auth_token;

    /**
     * 订单附加信息
     */
    private String body;

    /**
     * 用户付款中途退出返回商户网站的地址
     */
    private String quit_url;

    /**
     * 订单包含的商品列表信息
     */
    private List<GoodsDetail> GoodsDetail;

    /**
     * 订单绝对超时时间
     */
    private String time_expire;

    /**
     * 订单相对超时时间
     */
    private String timeout_express;

    /**
     * 业务扩展参数
     */
    private ExtendParams extendParams;

    /**
     * 商户传入业务信息，具体值要和支付宝约定，应用于安全，营销等参数直传场景，格式为json格式
     */
    private String business_params;

    /**
     * 优惠参数
     */
    private String promo_params;

    /**
     * 公用回传参数
     */
    private String passback_params;

    /**
     * 商户门店编号
     */
    private String store_id;

    /**
     * 指定支付渠道
     */
    private String enable_pay_channels;

    /**
     * 禁用渠道,用户不可用指定渠道支付
     */
    private String disable_pay_channels;

    /**
     * 指定单通道
     */
    private String specified_channel;

    /**
     * 商户的原始订单号
     */
    private String merchant_order_no;

    /**
     * 外部指定买家
     */
    private ExtUserInfo ExtUserInfo;
}
